/*
 * Copyright 2007-2010 kingbi.
 * Creator: mouzb
 */
package com.kingbi.system.function.service;

import java.sql.SQLException;
import java.util.List;

import com.kingbi.system.function.model.FunctionModel;



/**
 * @author mouzb
 *
 */
public interface FunctionService {
	
	/**
	 * 添加记录
	 * @param packModel
	 */
	void saveFunction(FunctionModel FunctionModel);
	
	/**
	 * 根据orgCode读取一条记录
	 * @param functionID
	 * @return
	 */
	FunctionModel loadFunction(int functionID);
	
	/**
     * 根据functionCode查询
     * @param functionCode
     * @return
     * @throws ECERAppException
     */
    List<FunctionModel> loadFunctionByCode(String functionCode);
	
	/**
	 * 根据functionID删除一条记录
	 * @param packID
	 */
	void deleteFunction(int functionID);
	
	/**
	 * 分页查询机构
	 * @param page
	 * @param max
	 * @return
	 */
	List<FunctionModel> listFunction(FunctionModel FunctionModel,int start,int max);
	
	/**
	 * 验证一条记录
	 * @param page
	 * @param max
	 * @param sql_params
	 * @return
	 */
	public List<FunctionModel> loadVerifyFunction(int page, int max,Object[] sql_params);

	/**
	 * 获取符合条件的总记录数
	 * @param FunctionModel
	 * @return
	 */
    long queryCount(FunctionModel FunctionModel);
	
    /**
     * 构造功能树
     * @param qeurySql
     * @param params
     * @return
     * @throws SQLException
     */
    List<Object> loadOrgTree(String qeurySql, Object[] params) throws SQLException;
	
}
